Large-scale networked systems are commonplace platforms employed in a variety of settings for running applications and maintaining data for business and operational functions. For instance, a data center (e.g., physical cloud computing infrastructure) may provide a variety of services (e.g., web applications, email services, search engine services, etc.) for a plurality of customers simultaneously. These large-scale networked systems typically include a large number of resources distributed throughout the data center, in which each resource resembles physical machines or virtual machines running as guests on a physical host.
When the data center hosts multiple guests (e.g., virtual machines), these resources are scheduled to logical processors within the physical machines of a data center for varying durations of time. Also, hosting multiple guests involves putting in place a root partition to facilitate the guests' access to network packets and other resources residing on the physical machines, such as hard disks. Often, mechanisms are utilized by operating system kernels to carry out the scheduling of the guests, as well as to synchronize data structures (e.g., logical processors) within the physical machines. These mechanisms typically attempt to distribute requests from the guests across all available logical processors—particularly within multithreaded environments. For instance, in the context of multithreaded environments, the mechanisms schedule the requests issued by multiple virtual processors (comprising the virtual machines) to be executed on multiple logical processors simultaneously.
This procedure for utilizing any available logical processors without further analysis regularly potentially causes input/output (I/O) operations issued by the root partition to be de-scheduled or blocked. This delay in executing the I/O operations that results from de-scheduling or blocking creates inefficiencies within the multithreaded environment. For example, the delay in executing the I/O operations creates latency in carrying out tasks requested by the guests, promotes under-utilization of the physical machines within the data center, and sometimes can significantly reduce throughput with respect to the virtual machines.